1. Field of the Invention
The invention relates generally to the field of computer networks. More particularly, the invention relates to private computer networks based on asymmetric transfer mode technology. Specifically, a preferred implementation of the invention relates to multi-link segmentation and reassembly for bonding multiple permanent virtual circuits in an inverse multiplexing arrangement.
2. Discussion of the Related Art
Asymmetric Transfer Mode (ATM) is a popular technology for providing secure and reliable Virtual Private Network arrangements. The use of ATM Switches permits the Service Provider (such as an Inter-Exchange Carrier, or xe2x80x9cIXCxe2x80x9d) to better utilize the inter-machine trunking facilities by providing trunk bandwidth only when there are ATM cells available for transmission. This is in contrast with the notion of a (truly) Private Network wherein the Service Provider is required to dedicate the prescribed bandwidth for the end customer in all inter-machine trunking facilities provisioned for the connection.
Consider, for example, an end-user that requires a Private Network linking three separate locations, A, B, and C. Assume that a 56 kbps connection is required between each pair of locations. One approach to providing this service is to have dedicated 56 kbps access links between the customer premises and the Service Provider Network (often called the xe2x80x9ccloudxe2x80x9d) Each location would have two such dedicated xe2x80x9cDDSxe2x80x9d (Digital Data Service) links. The Service Provider would use Digital Access and Cross-connect Systems (xe2x80x9cDACSxe2x80x9d) to manage the private network. The xe2x80x9ccloudxe2x80x9d could then be visualized as a multitude of such DACS machines interconnected by trunks. These trunks are usually DS1 links that may be further amalgamated into DS3 or SONET multiplexed assemblies for transmission over long haul facilities. Each 56 kbps link is treated as a D10 and the DACS machines ensure that each 56 kbps link is maintained across the Network by establishing the correct cross-connections. Fundamentally, a 56 kbps link between points A and B require that all intervening DACS machines be appropriately provisioned and that a D10 be reserved in all intervening facilities for that particular link. This reserved D10 represents bandwidth unavailable for any other use. The advantages (to the end-user) of such an arrangement are privacy and availability.
Referring to FIG. 1, an example of a conventional virtual private network is shown where the 56-kbps link between A and C is treated as a D10 (a D10 is a 64 kbps channel). One D10 in the inter-machine trunk labeled IMT-A that interconnects DACS machines D-1 and D-2 is reserved for the link and the cross-connect maps in D-1 and D-2 ensure the connectivity. Since each D10 is a xe2x80x9ctime-slotxe2x80x9d within a DS1, the networking method is referred to as TDM (time division multiplexing). Similarly, the link between A and B requires that a D10 be dedicated in IMT-B and IMT-D and the cross-connect maps in D-1, D-3 and D-4 must be coordinated to ensure connectivity. Likewise, the link between B and C requires the reservation of D10s in IMT-C and IMT-D and the coordination of cross-connect maps in D-2, D-3, and D-4.
Clearly, the access method can be enhanced to DS1 (xe2x80x9cT1xe2x80x9d) whereby the two 56 kbps links at a location are assigned to two D10s in the access DS1. With DS1 (1.544 Mbps) access, the same form of Network (DACS machines interconnected by high-speed trunks) can be deployed to provide links of the form Nxc3x9764 kbps or Nxc3x9756 kbps by utilizing multiple D10s per link (N is between 1 and 24, inclusive).
The example depicted in FIG. 2 represents a situation where there is a 8xc3x9764=512 kbps link between A and C, a 6xc3x9764=384 kbps link between C and B, and a 12xc3x9764=784 kbps link between B and A. The corresponding bandwidth must be reserved on the various IMTs connecting the DACS machines. Clearly, no single link in the above example can be greater than 24xc3x9764=1536 kbps since we are assuming DS1 access.
A problem with this technology has been that the bandwidth is wasted when there is no data available for transmission. The DSU/CSU used at the customer premise to drive the access segment will fill in null data (such as flags or equivalent fill-in units) to maintain the synchronous data rate (1.544 Mbps). The Service Provider network is unaware of such idle data fill-in units and the associated bandwidth is thus required to transport such useless data across the cloud. Generally speaking, in a TDM-based private network, connectivity is provided at the bit level; in the cloud no determination is made as to whether the bits being transported correspond to actual data or to fill-in units.
The use of ATM technology allows the sharing of access and inter-machine trunks by multiple (logical) links. The underlying premise of ATM is that a data stream can be segmented into cells. The ATM standard calls out for cells that contain 48bytes of user data. Appended to each cell are 5 bytes of overhead that includes an identifier of the destination. This identifier is encapsulated as a combination of xe2x80x9cVPIxe2x80x9d and xe2x80x9cVCIxe2x80x9d (for Virtual Path Identification and Virtual Channel Identification). Instead of the DACS machines in the prior example, ATM Switches are deployed and the inter-machine and access trunks carry cells rather than channelized information. The equivalent of cross-connection is performed by the ATM Switches on a cell-by-cell basis, using the VPI/VCI as the underlying pointer to match the ingress and egress trunks from the Switch. A Permanent Virtual Circuit (PVC) is established by provisioning the intervening ATM Switches between the two (or more) points of customer (end-user) access into the ATM cloud. In the configuration of three end-user locations considered above, cells from location A destined to location B will have a prescribed VPI/VCI in the cell-overhead when launched from location A. The 48 bytes of user-data are transported across the cloud though the overhead (i.e., the cell header) may be modified. Cells associated with a specific PVC will always traverse the same route and thus cell sequencing is not an issue. If there is no data available for transmission, the access multiplexer will insert xe2x80x9cfillerxe2x80x9d cells to maintain the synchronous transmission rate of the access link but these filler cells can be discarded by the network. This arrangement is depicted in FIG. 3.
It is certainly possible to create private networks wherein the Network Service Provider maintains TDM links between the various access multiplexers and the ATM (or equivalent) switching capability resides in the CPE equipment. This form of private networking is quite common and, more often than not, the TDM links between multiplexers are T1 links and the access multiplexers in this situation are referred to as T1 multiplexers.
Whereas in TDM-based network arrangements the address or identity of a link is defined by its position (in time) within the DS1 stream, in an ATM-based network the address of the destination is encoded appropriately by the access multiplexer on a cell-by-cell basis. Thus at Location A, data (cells) destined for Location B will be assigned a VPI/VCI, say xe2x80x9caxe2x80x9d. Likewise access multiplexers in all locations are assigned VPI/VCI codes for each of their PVCs depending on the end points of the PVC (they do not have to be the same code at the two end points of the PVC). The ATM Switches D-1 and D-2 are programmed such that a cell from Location A with VPI/VCI=xe2x80x9caxe2x80x9d will be delivered to Location C and the VPI/VCI there may be xe2x80x9ccxe2x80x9d. Whereas it is natural to establish the xe2x80x9cshortestxe2x80x9d path for a link, there is no fundamental restriction to that effect. In fact, the link between A and C may be established by creating a permanent virtual circuit that traverses D-3 as an intermediate step.
Inter-machine trunks can thus carry cells associated with a multiplicity of virtual circuits. Since the bandwidth is used on an xe2x80x9cas-neededxe2x80x9d basis, the utilization of inter-machine trunks can be optimized on a statistical basis. The drawback is that at times of peak loading, congestion could occur. To best utilize transmission bandwidth, it is commonplace to have buffers to xe2x80x9csmoothxe2x80x9d the traffic at all switch-trunk interfaces. The presence of buffers introduces delay, and the statistical nature of traffic causes the actual delay to vary about some nominal mean value. In an ideal situation this delay would be fixed (and as small as possible). Whereas delay, and delay-variation, is of less consequence when the data consists of inter-computer communication, the significance is much greater when the data consists of real-time traffic such as voice or video. The Service Provider is supposed to guarantee a certain level of service, often quantified as a QoS (Quality of Service) description that includes, among other quality parameters, the notion of delay and delay-variation.
Problems with current ATM technology include bandwidth constraints, which represent a significant limitation during times of peak network congestion. A potential point-to-point bandwidth increase with an inherent flexibility in data volume transfer for times of congestion is needed. Another problem with the current technology is the instability of the communication links during dynamic reconfiguration between paths of different lengths.
Heretofore, the requirements of providing a flexible point-to-point potential bandwidth increase over an asymmetric transfer mode network link, and stabilizing communication links during dynamic reconfiguration between paths of different lengths referred to above have not been fully met. What is needed is a solution that simultaneously addresses these requirements.
There is a need for the following embodiments. Of course, the invention is not limited to these embodiments.
According to a first aspect of the invention, a method comprises: generating a plurality of multilink segmentation and reassembly sublayer cells at a first location; distributing the plurality of multilink segmentation and reassembly sublayer cells across a plurality of virtual circuits; transmitting the plurality of multilink segmentation and reassembly sublayer cells to a second location via the plurality of virtual circuits; and receiving the plurality of multilink segmentation and reassembly sublayer cells at the second location. According to a second aspect of the invention, an apparatus comprises: a multilink segmentation and reassembly sublayer transmitter, including: a source buffer; a multilink controller coupled to the source buffer; and a plurality of virtual circuits coupled to the multilink controller.
These, and other, embodiments of the invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, while indicating various embodiments of the invention and numerous specific details thereof, is given by way of illustration and not of limitation. Many substitutions, modifications, additions and/or rearrangements may be made within the scope of the invention without departing from the spirit thereof, and the invention includes all such substitutions, modifications, additions and/or rearrangements.